基於 Laroche 的 Bayer Demosaicing 演算法

簡要說明

檔案: \examples\Processing\Color\Bayer\Laroche_original_maVCL.va

預設平台: mE5-MA-VCL

短說明

基於 Laroche 的 Bayer Demosaicing 演算法

根據 Laroche 等人的研究 [Lar94],Bayer 格式 [Bay76] 中的紅、綠、藍像素值可以使用以下演算法進行外推:

內插步驟 1

在第一個步驟中,所有綠色像素值(亮度值)皆透過水平與垂直色度梯度進行外推( 和 )。這些梯度是使用一個 核心來定義:

方程式 8。


是必須插補綠色值之像素上的色度值(紅色或藍色)。 綠色 隨後在紅色和藍色像素位置上為:

方程式 9。


內插步驟 2

根據插值所得的亮度,可以計算出遺失的紅綠藍像素值 [Lar94]。 紅色像素上的藍色,或藍色像素上的紅色:

方程式 10。


紅色行中綠色像素上的藍色,或藍色行中綠色像素上的紅色:

方程式 11。


以及藍色行中綠色像素上的藍色,和紅色行中綠色像素上的紅色:

方程式 12。


此處 該色彩值是紅色 還是藍色,這點尚待確定。 紅、綠、藍像素上的紅、綠、藍數值,即來自拜耳陣列輸入影像的數值。

VisualApplets 設計

完整的演算法(\examples\Processing\Color\Bayer\Laroche_original_maVCL.va)已在針對 microEnable5 取像卡(marathon)的 VisualApplets 設計中實作。 您可以在 圖 245「基本設計結構」中看到其基本設計結構 Image 和 OutputToPC 的內容相當於基本的擷取設計,請參閱例如 「適用於 marathon 取像卡的 Camera Link 相機基本擷取範例」。在 HierarchicalBox WhiteBalancing 執行相當於 「Bayer 5x5 Demosacing with White Balancing」 中範例的白平衡。 在 圖 246「Bayer 去馬賽克處理的插值步驟 1」 設定為 圖 248「HierarchicalBox BlueAndRed 的內容」 方框 BayerFilter 的內容(附帶詳細註解)顯示如下:在 圖 246「Bayer 去馬賽克處理的插值步驟 1」 梯度 和 根據 方程式 8進行計算。紅色和藍色像素上的綠色值則根據 方程式 9.

基本設計結構

圖 245. 基本設計結構


Bayer 去馬賽克處理的插值步驟 1

圖 246. Bayer 去馬賽克處理程序的插值步驟 1


在 圖 247「ColourInterpolation 的內容」 中顯示了 HierarchicalBox ColourInterpolation 顯示如下:在 HierarchicalBox GreenOut 中,如果目前位置是紅色或藍色像素,則將插值步驟 1 的綠色值決定為輸出綠色值。否則,如果目前位置是綠色像素,則輸出綠色值即為來自 Bayer 圖案的輸入綠色值。位置判定會發生在 WhereAmI RedOrBlue 中,使用 Modulo、AND、NOT 和 NotEqual 運算子。在 HierarchicalBox BlueAndRed 中,所有紅色和藍色值均會根據 從輸入 Bayer 圖案(使用 方程式 9kernel)以及插值綠色值進行插值運算。 在 圖 248「HierarchicalBox BlueAndRed 的內容」 您可以檢視分層方塊的內容 BlueAndRed 插值步長為 2。進行同步不是針對單一核心,而是針對多個核心值的總和,以節省 FPGA 上的資源。最後(請參閱 圖 247「ColourInterpolation 的內容」),透過 IF-operators RedOut 和 BlueOut 計算出的紅色和藍色值會被指定到對應的像素位置,這些位置是在 HierarchicalBox 中確定的 WhereAmIColour (類似於 WhereAmI RedOrBlue)。

ColourInterpolation 的內容

圖 247. ColourInterpolation 的內容


分層方塊 BlueAndRed 的內容

圖 248. 分層方塊 BlueAndRed 的內容


Bayer Demosaicing 處理程序的結果

在 圖 250,「使用 Laroche 等人的演算法進行去馬賽克處理的影像 [Lar94]」 您可以將使用實作演算法的 Bayer 去馬賽克處理結果與原始合成彩色影像(圖 249,「原始彩色影像」)以及使用 VA 標準運算子 Bayer5x5 進行雙線性 (圖 251,「使用雙線性 演算法進行去馬賽克處理的影像」)。

原始彩色影像

圖 249. 原始彩色影像


使用 Laroche 等人的演算法進行影像去馬賽克 (demosaiced) 處理。

圖 250. 使用 Laroche 等人的演算法進行影像去馬賽克處理 [Lar94]


使用雙線性 5\times 5 演算法進行影像去馬賽克處理

圖 251. 使用雙線性處理的影像 演算法


因此,與 插補方法相比,您可以發現鋸齒效應 (zipper effect) 和偽色偽影 (false color artefacts) 明顯減少。